1.  
ifstream (чтение), ofstream (запись), fstream (чтение и запись).   

2.     
    ifstream — только ввод (наследуется от istream).  
    ofstream — только вывод (наследуется от ostream).  
    fstream — поддерживает оба направления (наследуется от iostream).
3.  
Используется флаг ios::app. Пример:   
ofstream file("data.txt", ios::app);
данные записываются в конец файла, существующее содержимое сохраняется. 
